如何在C#中將PDF轉換為HTML | IronPDF

如何使用 IronPDF 在 C# 中將 PDF 轉換為 HTML

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 使用 SaveAsHtml 方法,只需一行代碼即可在 C# 中實現 PDF 至 HTML 的轉換,使 PDF 變成網頁友好型,從而增強可讀性、搜索引擎優化和網頁整合。 IronPDF函式庫提供強大的解決方案,可將 PDF 內容轉換成 HTML 格式,同時保持視覺結構和版面。

將 PDF 轉換為 HTML 有以下好處:

  • 增強網頁可讀性
  • 適用於不同裝置的回應式設計
  • 改善搜尋引擎最佳化
  • 無縫網路整合
  • 透過網路工具輕鬆編輯內容
  • 跨平台相容性
  • 支援動態元素

當您將 PDF 內容重新用於網路平台,或需要從 PDF 中 抽取文字和圖片以進一步處理時,此轉換流程會有所幫助。

IronPDF 簡化了在 .NET C# 中將 PDF 轉換為 HTML 的過程,提供了在內部處理複雜轉換過程的方法。 無論是建立文件管理系統、建立網頁型 PDF 檢視器,或是讓 PDF 內容可被搜尋引擎搜尋,IronPDF 的轉換功能都能提供可靠的解決方案。

快速入門:使用 IronPDF 立即將 PDF 轉換為 HTML

使用 IronPDF 只需一行代碼即可將 PDF 文件轉換為 HTML 文件。 本範例示範使用 IronPDF 的 SaveAsHtml 方法快速將 PDF 轉換為 HTML。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    IronPdf.PdfDocument.FromFile("example.pdf").SaveAsHtml("output.html");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer


如何將基本的 PDF 轉換為 HTML?

ToHtmlString 方法允許分析現有 PDF 文件中的 HTML 元素。 它可作為調試或 PDF 比較的工具。 SaveAsHtml 方法可直接將 PDF 文件儲存為 HTML 檔案。 這兩種方法都能根據特定需求提供彈性。

PDF 至 HTML 的轉換過程會保留 PDF 文件的視覺排版,同時為網路應用程式建立 HTML 輸出。 當您需要 在網頁瀏覽器中顯示 PDF 內容,而不需要使用者下載 PDF 檔案或安裝閱讀器外掛時,這將有所幫助。

注意:原始 PDF 中的所有互動式表單欄位在產生的 HTML 文件中將不再具有功能。

對於使用 IronPDF 表單的開發人員而言,轉換程序會將表單欄位渲染為靜態內容。 若要保持表單功能,可考慮使用 IronPDF 的 表單編輯功能,在轉換前提取表單資料。

PDF 樣本是什麼樣子?

如何執行轉換程式碼?

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html.cs
using IronPdf;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
$vbLabelText   $csharpLabel

程式碼示範了 PDF 至 HTML 轉換的兩種主要方法。 當您需要以程式方式處理 HTML 內容時,ToHtmlString 方法會起作用,而 SaveAsHtml 則會直接產生檔案。 對於 多個 PDF,請使用類似的技術批量處理。

輸出的 HTML 是什麼樣子?

已將使用SaveAsHtml方法產生的完整 HTML 輸出輸入至以下網站。


如何設定進階 PDF 至 HTML 選項?

ToHtmlStringSaveAsHtml 方法均透過 HtmlFormatOptions 類提供配置選項。 此設定系統可自訂所產生 HTML 輸出的外觀與行為。 可用的屬性包括

  • BackgroundColor: 設定 HTML 輸出的背景顏色
  • PdfPageMargin:以像素為單位設定頁面邊界

以下屬性適用於 ToHtmlStringSaveAsHtml 方法中的 'title' 參數。 他們在不修改原始 PDF 標題的情況下,在內容開頭加入新標題:

  • H1Color:設定標題顏色
  • H1FontSize:以像素為單位設定標題字型大小
  • H1TextAlignment:設定標題對齊方式(左對齊、居中對齊或右對齊)。

對於使用 自訂紙張大小或特定 頁面方向的開發人員而言,這些組態選項可確保 HTML 輸出維持預期的視覺結構。

有哪些組態選項可用?

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html-advanced-settings.cs
using IronPdf;
using IronSoftware.Drawing;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// PDF to HTML configuration options
HtmlFormatOptions htmlformat = new HtmlFormatOptions();
htmlformat.BackgroundColor = Color.White;
htmlformat.PdfPageMargin = 10;
htmlformat.H1Color = Color.Blue;
htmlformat.H1FontSize = 25;
htmlformat.H1TextAlignment = TextAlignment.Center;

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtmlConfigured.html", true, "Hello World", htmlFormatOptions: htmlformat);
$vbLabelText   $csharpLabel

本範例展示如何使用自訂樣式建立精緻的 HTML 輸出。 配置選項可與 IronPDF 的 渲染引擎配合使用,以產生保持視覺逼真度的高品質 HTML。

配置的輸出有何差異?

已將使用SaveAsHtml方法產生的完整 HTML 輸出輸入至以下網站。

為什麼 HTML 輸出會使用 SVG 標籤?

這些方法會產生具有內嵌 CSS 的 HTML 字串。 輸出的 HTML 使用 SVG 標籤取代標準 HTML 標籤。 儘管有此差異,但仍能產生有效的 HTML,並能在網頁瀏覽器中正確呈現。 使用 RenderHtmlAsPdf 方法渲染 PDF 文件時,此方法返回的 HTML 字串可能與 HTML 輸入不同。

以 SVG 為基礎的方法可確保精確呈現複雜的 PDF 佈局,包括精確的定位、字型和圖形。 此方法對於包含 圖片、圖表或難以使用標準 HTML 元素複製的複雜格式的 PDF 檔案非常有效。

附加程式碼範例:批量將 PDF 轉換為 HTML

關於將多個 PDF 轉換為 HTML,這裡有一個處理整個目錄 PDF 檔案的範例:

using IronPdf;
using System.IO;

public class BatchPdfToHtmlConverter
{
    public static void ConvertPdfDirectory(string inputDirectory, string outputDirectory)
    {
        // Ensure output directory exists
        Directory.CreateDirectory(outputDirectory);

        // Configure HTML output settings once for consistency
        HtmlFormatOptions formatOptions = new HtmlFormatOptions
        {
            BackgroundColor = Color.WhiteSmoke,
            PdfPageMargin = 15,
            H1FontSize = 28,
            H1TextAlignment = TextAlignment.Left
        };

        // Process all PDF files in the directory
        string[] pdfFiles = Directory.GetFiles(inputDirectory, "*.pdf");

        foreach (string pdfPath in pdfFiles)
        {
            try
            {
                // Load PDF document
                PdfDocument pdf = PdfDocument.FromFile(pdfPath);

                // Generate output filename
                string fileName = Path.GetFileNameWithoutExtension(pdfPath);
                string htmlPath = Path.Combine(outputDirectory, $"{fileName}.html");

                // Convert and save as HTML with consistent formatting
                pdf.SaveAsHtml(htmlPath, true, fileName, htmlFormatOptions: formatOptions);

                Console.WriteLine($"Converted: {fileName}.pdf → {fileName}.html");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error converting {pdfPath}: {ex.Message}");
            }
        }
    }
}
using IronPdf;
using System.IO;

public class BatchPdfToHtmlConverter
{
    public static void ConvertPdfDirectory(string inputDirectory, string outputDirectory)
    {
        // Ensure output directory exists
        Directory.CreateDirectory(outputDirectory);

        // Configure HTML output settings once for consistency
        HtmlFormatOptions formatOptions = new HtmlFormatOptions
        {
            BackgroundColor = Color.WhiteSmoke,
            PdfPageMargin = 15,
            H1FontSize = 28,
            H1TextAlignment = TextAlignment.Left
        };

        // Process all PDF files in the directory
        string[] pdfFiles = Directory.GetFiles(inputDirectory, "*.pdf");

        foreach (string pdfPath in pdfFiles)
        {
            try
            {
                // Load PDF document
                PdfDocument pdf = PdfDocument.FromFile(pdfPath);

                // Generate output filename
                string fileName = Path.GetFileNameWithoutExtension(pdfPath);
                string htmlPath = Path.Combine(outputDirectory, $"{fileName}.html");

                // Convert and save as HTML with consistent formatting
                pdf.SaveAsHtml(htmlPath, true, fileName, htmlFormatOptions: formatOptions);

                Console.WriteLine($"Converted: {fileName}.pdf → {fileName}.html");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error converting {pdfPath}: {ex.Message}");
            }
        }
    }
}
$vbLabelText   $csharpLabel

這個批次轉換範例適用於內容管理系統、數位檔案或需要在網路上存取大量 PDF 內容的應用程式。 如需更多有關程式化處理 PDF 的資訊,請瀏覽我們的 tutorials 區塊

常見問題解答

如何用 C# 將 PDF 檔案轉換為 HTML?

有了 IronPDF,您只需使用一行代碼就能在 C# 中將 PDF 轉換為 HTML:IronPdf.PdfDocument.FromFile("example.pdf").SaveAsHtml("output.html").此方法在內部處理複雜的轉換過程,同時保持 PDF 文件的視覺結構和佈局。

將 PDF 轉換為 HTML 的主要好處是什麼?

IronPDF 的 PDF 至 HTML 轉換提供了多種優點,包括增強的網路可讀性、適用於不同裝置的回應式設計、改善的 SEO、無縫網路整合、透過網路工具輕鬆編輯內容、跨平台相容性,以及支援動態元素。

PDF 轉換為 HTML 有哪些方法?

IronPDF 提供了兩種主要的 PDF 至 HTML 轉換方法:ToHtmlString 方法允許分析 HTML 元素,並將 HTML 以字串形式返回;SaveAsHtml 方法則直接將 PDF 文件儲存為 HTML 檔案。這兩種方法都保留了 PDF 文件的視覺佈局。

將 PDF 轉換為 HTML 後,互動式表單欄位還能運作嗎?

不,使用 IronPdf 的 PDF 至 HTML 轉換時,原始 PDF 中的所有互動表單欄位在生成的 HTML 文件中將不再具有功能。表單欄位會被渲染為靜態內容。為了保持表單功能,您應該在轉換前使用 IronPDF 的表單編輯功能來提取表單資料。

從 PDF 轉換時,我可以自訂 HTML 輸出嗎?

是的,IronPDF 允許您使用 HtmlFormatOptions 類設定輸出的 HTML。這可讓您控制 HTML 轉換過程的各個方面,以確保輸出符合您的特定需求。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

審核人
Jeff Fritz
Jeffrey T. Fritz
首席計畫經理 - .NET 社群團隊
Jeff 也是 .NET 和 Visual Studio 團隊的首席計畫經理。他是 .NET Conf 虛擬會議系列的執行製作人,並主持「Fritz and Friends」開發人直播串流,每週播出兩次,與觀眾一起討論技術和編寫程式碼。Jeff 為 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit 等大型 Microsoft 開發人員活動撰寫工作坊、簡報和規劃內容。
準備好開始了嗎?
Nuget 下載 17,570,948 | 版本: 2026.2 剛剛發布